In many display systems, display data is stored in a frame buffer implemented in system memory (such as, for example, dynamic random access memory or DRAM) prior to being accessed by a display controller. The display controller, in turn, formats and otherwise processes the display data for output so as to refresh the displayed image at a display device. Typically, the display data is transferred in units corresponding to one or more display lines (or raster lines) of the display device. This transfer of display data between the frame buffer in memory and the display controller consumes a considerable portion of the bandwidth of the bus between the memory and the display controller. To illustrate, for a display having a resolution of 1600×1200 pixels at 16 bits per pixel and a refresh rate of 70 Hertz, the corresponding necessary bandwidth of the memory-to-display controller bus, disregarding any overhead, is approximately 270 megabytes (MB) per second. Such a bandwidth requirement can tax many such memory buses. It will be appreciated that this bandwidth requirement is further exacerbated at higher resolutions, higher refresh rates, and higher bit-per-pixel representations.
In view of the problems associated with excessive bandwidth consumption during the transfer of display data to a display controller, a technique has been developed to reduce the amount of data transferred. This technique employs a data compression scheme whereby display data may be compressed on a display line-by-display line basis. The first time the display data for a display line is obtained from the frame buffer, the display controller compresses the display data in addition to providing the display data to the display device. The display data then is stored in a second frame buffer for compressed display data. Thus, the next time the same display line is to be displayed at the display device (i.e., when there is no change to the corresponding line of the displayed image), the compressed display data corresponding to the display line may be transferred to the display controller from the second frame buffer, whereupon the display controller may decompress the display data and otherwise process it for output to a display device. As a result, the overall data transferred to the display controller, and therefore the overall bandwidth consumed, may be reduced as some or all of the display data may be compressed as it is transferred. Exemplary techniques for compressing the display data are disclosed in, for example, U.S. Pat. Nos. 5,834,082 and 6,359,625, the entireties of which are incorporated by reference herein.
While the above-described conventional technique provides a reduction in the overall bandwidth required to transfer display data from memory to the display controller, this technique fails to address the power consumption resulting from the operation of the memory implementing the frame buffer and its display data, as well as the power consumption resulting from the transfer of the display data, even in its compressed form, over the bus or buses connecting the memory to the display controller. Accordingly, an improved technique for storing display data prior to the processing of the display data for output to a display device would be advantageous.